Settable program control device for an accounting or similar machine

ABSTRACT

A keyboard-settable ball memory for program control of accounting and similar machines is disclosed in which the balls are positioned in longitudinal columns and transverse rows of cells in an endless traveling ribbon with a fixed station corresponding to one transverse row providing both setting and sensing operations by means of the same elements.

United States Patent Inventors Nicole Giolitti;

Gian Paolo Guerrini, both of lvrea, Italy Appl. No. 790,539 Filed Jan. 13,1969 Patented Aug. I0, 1971 Assignee lug. C. Olivetti & C. S.p.A.

lvrea, Italy Priority Jan. 22, 1968 Italy 50219 A/68 Pat. 825,670

SET'I'ABLE PROGRAM CONTROL DEVICE FOR AN ACCOUNTING OR SIMILAR MACHINE 22 Claims, 7 Drawing Figs.

U.S. Cl

Int. Cl

235/ I23, 235/60 TK G06c 1/00 [50] Field of Search 235/123, l8, 68, 60 TK [56] References Cited UNITED STATES PATENTS 3,363,837 l/l968 Gassino 235/123 Primary ExaminerRichard B. Wilkinson Assistant Examiner-John F. Gonzales Attorney-Kevin C. McMahon ABSTRACT: A keyboard-settable ball memory for program control of accounting and similar machines is disclosed in which the balls are positioned in longitudinal columns and transverse rows of cells in an endless traveling ribbon with a fixed station corresponding to one transverse row providing both setting and sensing operations by means of the same ele- PATENTED AUG] 0 am SHEET 1 OF 4 8 & Q 9 mm 5 K F mm 8 8 Q 8 $613 a 5 I, V v Gm m l R M R E 0 'U Gs 0 VL N 0 vlm P N A G i mwyjnuuf 3110mm y PATENTED AUG 1 0 l97l SHEET 2 IF 4 INVENTORS NICOLO'GIOLITTI GIAN PA 0L0 GUERRINI QR NEY PATENTEU AUG] 01911 3, 598,9 9

sum 3 [1F 4 INVENTORS NICO LO'GIOLITTI GIAN PAOLO GUERRINI ATTQR Y PATENTED AUG I 0 IQTI SHEU t 0F 4 INVENTORS AlfoR NEY BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a settable program control device for an accounting or similar machine including a keyboard-settable ball memory.

2. Description of the Prior Art There are known ball mechanical memories, wherein each ball may be placed in one or the other of two positions. In one known memory, the balls are placed in notches in a pair of disk. For it, the balls are set up in separate apparatus. F urthermore, this known memory takes considerable space relative to its capacity.

In another known mechanical memory, the balls are selectively placed in cells relative to a first plate, a second plate provided with cells being placed adjacent to said first plate, senses the balls by being displaced so its cells oppose the balls set relative to the first plate. Nevertheless, this memory has the disadvantage that it can be set up only if it is horizontal. Furthermore, it does not allow the balls to be readily reset.

SUMMARY The program control device according to the invention is characterized by setting means comprising an arcuate'channel full of balls, said channel ending with an opposed pair of openings positionable to allow transfer ofa ball from a cell in a cellular storage array to said channel and vice versa. A sensing element coacts with each channel for setting a binary digit in a pair of cells by driving a ball out of one cell into said channel whereby a-ball is forced from the other opening of said channel into the otherof said pairof cells. The same sensing element in sensing program data in said pair of cells is deflected upon encountering a ball, and the direction of deflection indicatesthe memory state. Thus it is an object of the invention to provide a keyboard-settable ball memory for a program control device.

It is a further object of the invention to provide a settable ball memory that is settable by the sensing elements used to read the memory.

It is a further object of the invention to provide a keyboardsettable ball memory for accounting and similar machines.

- Further objects and features of the invention will become apparent upon reading the following description together with the drawing.

BRIEF DESCRIPTION OF THE DRAWING FIG. 1 is a right-hand perspective view of an accounting machine incorporating a program control device according to the invention.

FIG. 2 is a partial front cross section of the program control device.

FIG. 3 is a partial plan view of the program control device.

FIG. 4 is partial cross section according to the line IV-IV of the FIG. 3.

FIG. 5 is a partial cross section according to the line V-V of the FIG. 3.

FIG. 6 is a partial cross section according to the line Vl-VI of FIG. 2.

FIG. 7 is a view ofa detail of the program control device.

DESCRIPTION OF THE PREFERRED EMBODIMENT versely displaceable with respect to carriage I4. The machine,

moreover, comprises a program control device generally indicated by 16, which is placed at the right-hand rear side of the machine. Device 16 is supported in the front side and in the back side by two plates 17 and 18 (FIGS. 2 and 3) secured to the machine frame.

Program control device 16 is adapted to store one or more programs coded according to binary unit combinations, wherein each unit is represented by ball 19 (FIG. 2) adapted to be selectively located in one or the other of a pair of cells or holes 21 and 22. The hole pairs are located in transverse rows of 18 and longitudinal columns of 256, each row alternately .formed of holes 21 and 22 representing one station of the program. The columns of holes 21 and 22 are provided on I28 bars 23 in transverse alignment, each carrying pair of pivots 24.

Adjacent bars 23 are interconnected as a chain by pairs of links 26 pivoted at their ends on pivots 24, so as to form by the bars a flexible and endless ribbon 27. Ribbon 27 is slidable on plastic support 28 secured to two shafts 29 in turn secured to plates 17 and 18. Support 28 is similar in cross section to a figure eight with a very elongated central portion. Only a little of the central portion is shown in FIG. 2. Ribbon 27 is externally guided by pair of frames 31 connected to plates 17 and 18 by means of shafts 32.

Each hole 21, 22 is cylindrical in shape and is provided on the outer end with two projections 33 (FIGS. 3 and 6) which form a restriction in holes 21, 22 preventing the egress of ball 19. On the inner end of each hole, the egress of the balls is prevented by support 28. The latter is provided on its lefthand lower part with opening 34 (FIG. 2) on the sides whereof are provided two prismatic guides 36 and 37 whereon plastic case 38 may be longitudinally placed. Case 38 comprises upper plate 39 provided for each pair of holes 21, 22 with semicircular notch 41 and lower plate 42 of plastic material secured to plate 39.

Plate 42 is provided with pair of holes 43 and 44 spaced the same as holes 2] and 22. Holes 43 and 44 together with notch 41 form an inverted U-shape channel normally containing three balls 19. The function of balls 19 will be explained below. In home position, case 38 is located so that holes 43 and 44 are shifted with respect to holes 21 and 22, whereby balls 19 are prevented from leaving holes 21,22.

Row of holes 21 and 22 placed under notches 41 of case 38 is adapted to be sensed by a complementing movement of paired sensing members 51 and 52 (FIGS. 2 and 3). One pair of sensing members 51, 52 is provided for each pair 'of holes 21 and 22, whereby there are 18 pairs of sensing members 51 and 52. The latter are guided by stationary toothed-edge member 55 and are enabled to be displaced, each by means of slot 53, 54 respectively on stationary shaft 56, 57 respectively.

Sensing members 51, 52 are provided with indents 61, 62 respectively, wherein are engaged two arms 63, 64 respectively ofswing lever 66. Swing levers 66 are fulcrumed on shaft 67 carried on pair of arms 68 of ball 69 rotatable on shaft 70 secured to the machine frame. Arm 68 is normally urged against cam 72 by spring 7]. Cam 72 is secured to shaft 73 adapted to be cyclically rotated clockwise by an electric motor (not depicted in the drawings) and one-cycle clutch 74 known per se. Clutch 74 is normally kept disengaged by lever 75 (FIGS. 3 and 5) fulcrumed on stationary pivot 76 and normally urged to contact stationary pin 77 by the action of spring 78. Lever 75 is provided with lug 79 carrying pin I00 engaged in a relatively large aperture in link 80. The link is normally urged by spring 82 (FIG. 3) to contact pin 262 of lever I52 fulcrumed on stationary shaft 150. Link 80 ends with shoulder 81 normally engaging pin 83 carried on lever 84. The latter is fulcrumed on shaft 85 and isadapted to be rotated clockwise in order to engage clutch 74. Third arm 65 (FIG. 2) of swing lever 66 engages notch 86 ofa function control member made up of slide 87. The latter is provided with two slots 88, 89 slidably mounted on two stationary shafts 90, 91 whereon slide 87 may take up the one or the other of two positions. In each of the two positions, slide 87 is held by spring-locking member 92.

Each bar 23 (FIG. 2) is provided with two indents 93, one at each end. Indents 93 are in meshing relation with two toothed wheels 94 secured to shaft 95 rotatable on plates 17 and 18. Secured to the front end of shaft 95 (FIGS. 3 and is toothed wheel 96 cooperating with spring-locking member 97. Wheel 96 is provided with notch 98 (FIG. 5) which engages pin 99 secured to toothed wheel 102 having specially outlined teeth 103 in a quantity equal to the teeth of wheel 96. Wheel 102 is secured to shaft 101 (FIG. 3) coaxial with shaft 95 and rotatable on a frame secured to the machine.

- Wheel 102 is normally engaged by pawl 106 (FIG. 5) fulcrumed on pivot 107 carried on lever 108. The latter is fulcrumed on fixed shaft 109 and is urged by spring 111 to cooperate with cam 112 of shaft 73. Pawl 106 is provided with indent 113 engaging pin 114 of lever 116 fulcrumed on stationary shaft 70. Lever 116 cooperates, due to the urge of spring 118, with another cam 119 on shaft 73.

When lever 84 (FIG. 3) is rotated clockwise, link 80 is displaced leftwards and causes lever 75 (FIG. 5) to be rotated clockwise so as to cause the engagement of clutch 74. This starts a cycle of shaft 73. At the beginning of the cycle, cam 112 rotates lever 108 counterclockwise, displacing pawl 106 leftwards. Pawl 106, which engages one tooth 103 of wheel 102, causes the latter to be rotated by one step concomitantly with wheel 96, shaft 95 and wheels 94. The latter engage teeth 93 which cause program ribbon 27 to be fed by one step.

Subsequently cam 72 (FIG. 2) on shaft 73 rotates bail 69 counterclockwise, lifting shaft 67 through a predetermined stroke. Shaft 67 lifts swing levers 66 concomitantly with sensing members 61 and 62, which sense the pair of holes 21 and 22. If one ball 19 is placed in hole 21, relevant sensing member 51 is stopped by ball 19, while sensing member 52 continues its stroke causing swing lever 66 to rotate counterclockwise about shaft 67. Arm 65 of swing lever 66 then displaces slide 87 to its left-hand position if it is not already there. Conversely, if ball 19 is located in hole 22 it stops relevant sensing member 52, while sensing member 51 continues its stroke and causes swing lever 66 to be rotated clockwise, whereby slide 87 is displaced to its right-hand position if it is not already there.

Simultaneously, cam 119 (FIG. 5.) on shaft 73 rocks lever 116 clockwise, whereby pin 114 causes pawl 106 to disengage from wheel 102. Subsequently cam 72 (FIG. 2) enables spring 71 to reset shaft 67 downwards concomitantly with swing levers 66, while locking member 92 holds relevant slide 87 in the reached position. Cam 112 (FIG. 5) in turn enables lever 108 to be rotated clockwise bringing pawl 106 to the right again. Near the end of the cycle, cam 119 brings pawl 106 again into engagement with next tooth 103 of wheel 102.

SETTING UP THE PROGRAM Secured on the front side of case 38 is bar 131 (FIG. 6) passing through plate 17 (FIG. 3). Bar 131 carries pin 132 engaging cam slot 133 (FIG. 3) in bent lug 134 of slide 136. The latter is provided with two guide slots 137 (FIG. 2) slidable on two pins 138 secured to plate 17. Slide 136 is moreover provided with pin 139 (FIG. 5) engaging an arm of fork 141 of lever 142 fulcrumed on shaft 109. Lever 142 is connected, by the medium of link 144, to three-arm lever 146 fulcrumed on stationary shaft 76.

Lever 146 is in turn connected, by means of pin 148, to link 149 which engages bent lug 151 (FIG. 4) of lever 152 (FIG. 3). By means of pin 153, lever 152 is connected to link 155 provided with lug 156 which is fulcrumed, by means of pin 157 (FIG. 4) on lever 158. The latter is fulcrumed on stationary shaft 159 and is provided with pin 160 cooperating with spring-locking member 161, adapted to hold lever 158 in two alternative positions. Lever 158 is adapted to be rocked clockwise by hand from the position of FIG. 4 for prearranging the setting ofthe program.

Lever 152 (FIG. 3) has fork arm 163 engaging pin 164 secured to lug 166 of arm 171 of bail 167. Bail 167 is slidable on stationary pin 168 by means of slot 169 (FIG. 4) provided in the transverse portion of bail 167. Arm 171 of bail 167 is 181 engaging groove 182 of bevel gear 183 rotatably fixed with shaft 184, but axially slidable for meshing with bevel gear 177. Shaft 184 carries another bevel gear 186 meshing with still another bevel gear 187 with a rotation ratio of 1:2. Gear 187 is carried on shaft 188 which transmits movement to shaft 190 through pair of bevel gears189.

Secured to shaft 190 is disk 191 (FIG. 7) wherein are provided two diametrically opposed notches 192 cooperating with spring-locking member 193. Disk 191 is moreover provided with two pins 194 shifted by with respect to notches 192 and adapted to cooperate with l9-tooth wheel 196 when shaft is rotated. Wheel 196 is mounted on shaft 197 rotatable on the machine frame. I

Shaft 190 carries a second disk provided with two notches 199 fixed facing pins 194. Disk 198 engages wheel 201, mounted on shaft 197, having, in relation to each tooth of wheel 196, a concave circular outline for locating shaft 197. Conversely, notches 199 enable the step-by-step rotation of shaft 197.

Angularly integral with shaft 197, but slidably mounted thereon, is sleeve 202 (FIG. 2) whereto is secured drum 203. The latter carries l8 cams 204, that is, one cam less than the number of teeth on wheel 196. Each cam 204 comprises first tooth 206 (FIGS. 2 and 3) and second tooth 207 being smaller in height and larger in width with respect to tooth 206. Tooth 206 is centrally positioned relative to the width of tooth 207. Tooth 206 of first cam 204, starting from the rear side of the machine, is placed in relation to a tooth of wheel 196 while tooth 207 is located in relation to the subsequent tooth of wheel 196 according to the clockwise direction of wheel 196. Furthermore, tooth 207 of each cam 204 is in axial alignment with tooth 206 of the subsequent cam, and tooth 207 of the 18 cam is angularly displaced one step from tooth 206 of first cam 204.

Provided on sleeve 202 (FIG. 3) is groove 208 engaging pin 209 of bail 211. fulcrumed on shaft 150. Bail 211 is' adapted to engage, by means of pin 212, V-shaped indent 213 provided in lug 214 of slide 216. The latter is slidable on pin 217, which is provided with two round cup flanges 215 in order to enable slide 216 to accomplish a certain horizontal rotation about the contact point with flanges 215. Slide 216 is connected to code bar 219 by means of fork end 218 (FIG. 4). Slide 216 furthermore carries second lug 221 (FIG. 3) which is provided with V-shaped notch 222 normally engaging pin 223 secured to lever 224 pivoted on shaft 226. Lever 224, when rotated, controls a code member controlling the numerical setting slide as described in the cited patent. Slide 216 finally carries third lug 227 which is pin and slot connected to bail 228 pivoted on shaft 229. Bail 228 is connected to lever 152 by means of link 231.

Bar 219 is adapted to be selectively rotated in combination with three other bars 220 upon the depression of each numerical key. In particular bar 219 takes up the position of FIG. 4 upon the depression of the zero key while the position indicated in FIG. 4 by a broken line corresponds to the depression ofthe one" key.

Each cam 204 may cooperate with a pair of adjacent teeth 232 and 233 (FIG. 2) which are normally in contact with tooth 207 of 18 cam 204. Tooth 232 is carried on lever 234 pivoted on stationary shaft 236. Tooth 233 is carried on arm 244 of slide 239 slidable on pin 90 by means of slot 242 and on pin 241 by means of another slot 243. Slide 239 is furthermore provided with notch 238 engaging pin 237 of lever 234. Teeth 232 and 233 are alternately engaged by teeth 206 of cams 204 according to the axial position of drum 203, and are always engaged by teeth 207.

' Slides 239 cooperate with looking bar 246 adapted to hold these slides in three different positions. Eaclh slide 239 is associated with pair of sensing members 51, 52 and is provided with two projections 247, 248 adapted to selectively cooperate with arms 63, 64 respectively of the corresponding swing lever 66. Finally, secured to sleeve 202 is cam 249 (FIG. 5) adapted to cooperate with pin 252 of lever 253 pivoted on shaft 76. Lever 253 is normally in contact with pin 256 of lever 146 by the urging of spring 254. Lever 253 is provided with lug 258 adapted to cooperate with arm 259 oflever 116.

The machine finally comprises universal bar 264 (FIG. 4) adapted to be rocked clockwise upon depression of each numerical key. By means of bar 264, slide 266 is engaged. Slide 266 is provided with slot 268 slidable on stationary pin 267 and is pin and slot connected to arm 269 of bail 271 pivoted on shaft 150. Bail 271 is provided with pin 272 adapted to en'- gage notch 273 (FIG. 3) of link 80 when the latter is rotated counterclockwise by lever 152.

The setting operation of the program is carried out in the following manner.

Upon manually rocking lever 158 (FIG. 4) clockwise, slide 155 (FIG. 3) is displaced forwards and rocks lever 152 clockwise. Link 149 (FIGS. 5 and 3) is displaced rightwards and rocks lever-146 counterclockwise. The counterclockwise motion of lever 146 acting through link 144 rocks lever 142, thus displacing slide 136 leftwards. Case 38 by means of pin 132 (FIG. 3) engaging cam slot 133 is displaced forwards positioning holes 43 and 44 (FIG. 6) opposite to corresponding holes 21 and 22 of underlying bar 23. Balls 219 of case 38 do not fall because the diameter of holes 43 and 44 is slightly smaller than the diameter of balls 19.

The counterclockwise motion oflever 146 (FIG. 5) furthermore frees lever 253 from pin 256 thus enabling pin 252 to contact cam 249 by tension of spring 254. In turn lever 152, by means of link 231 (FIG. 3), rocks bail 228 clockwise, which in turn rocks slide 216 counterclockwise about pivot 217.

Slide 216 thus disengages fork 222 from pin 223 of lever 224 and engages fork 213 by means of pin 212 to bail 211. Furthermore lever 152, by means of slot 163 and pin 164, displaces bail 167 rearwards bringing gear 183 into mesh with gear 177 and disengaging the latter from gear 174. Finally lever 152, by means of pin 262, rocks link 80 counterclockwise bringing its shoulder 81 above pin 83 of lever 84 and setting notch 273 into engagement with pin 272 of bail 271.

The machine is now prearranged for the setting up of the program by means of keyboard 12. This setting operation is serially executed in each program row starting from the hole pair which is toward the rear side of the machine, by means of numerical keys zero" and one. Upon depression of the zero key or of the one key, bar 264 is temporarily dis placed into the position shown in FIG. 4 by a broken line. Slide 266 is pushed rearwards and rocks bail 271 (FIG. 3) counterclockwise which displaces link 80 leftwards. The latter rocks lever 75 (FIG. 5) clockwise causing clutch 74 to become engaged. Bar 264 is then reset back into the position shown in FIG. 4 by a solid line, thus restoring the lever 75 and permitting clutch 74 (FIG. 5) to be disengaged again.

Depression of the zero" key leaves bar 219 in the position v of FIG. 4, whereby slide 216 is left stationary, holding stationary bail 211 and therefore also sleeve 202. Drum 203 (FIG. 3) is held positioned in forward position with tooth 206 (FIG. 2) of first cam 204 on the path of tooth 232 corresponding to first pair of sensing members 51 and52 starting from the rear side of the machine.

Depression of the one" key causes bar 219 to rock clockwise into the position shown in FIG. 4 by a broken line. Slide 216 is pulled forwards and rocks bail 211 clockwise, which by the medium of pin 209 displaces sleeve 202 toward the rear side of the machine. Drum 203 (FIG. 3) is displaced rearwards with tooth 206 of first cam 204 on the path of tooth 233 relative to first pair ofsensing members 51 and 52.

At the beginning of the cycle of shaft 73 (FIG. 5), cam 112 feeds program ribbon 27 (FIG. 2) by one step in the manner already described. Thereafter gear 177 (FIG. 4) is rotated through in the manner described in the cited patent. Then gear 177, by means of bevel gear 183 and shaft 184, drives bevel gear 186, which rotates gear 187 through concomitantly with shaft 188 and bevel gear pair 189. Thus shaft 190 (FIG. 7) is rotated clockwise concomitantly with disk 191. One of pins 194 of disk 191 then engages a tooth of wheel 196 thus rotating shaft 197 counterclockwise by one step. Shaft 197 is then held in the attained position by the engagement ofdisk 198 with a notch of wheel 201.

Rotation of shaft 197 drives sleeve 202 (FIG. 2) and therefore drum 203. Tooth 206 of first cam 204 thus selectively engages tooth 232 or tooth 233 corresponding to the first sensing member pair 51 and 52. If tooth 232 is engaged, lever 234 rocks clockwise and, by means of pin 237, pushes respective slide 239 rightwards. This brings projection 247 into the path of arm 63 of corresponding swing lever 66. If tooth 233 is engaged, slide 239 is pulled leftwards and brings projection 248 into the path of arm 64 of the same swing lever 66.

Subsequently cam 72 of shaft 73 rocks bail 69 counterclockwise lifting shaft 67 through a predetermined stroke. When the zero key is depressed, arm 63 engages projection 247 of the slide 239, whereby sensing member 51 is stopped. At the same time, sensing member 52 continues its upward stroke and enters corresponding hole 22 (FIG. 6). If this hole is free it means that a zero" has already been set up and the situation remains unchanged. Conversely, if sensing member 52 meets a ball, it pushes it into hole 44 and causes ball 19 placed in hole 43 to be transferred into hole 21. If the one" key is depressed, sensing member 52 is locked by means of projection 248 (FIG. 2). Sensing member 51 enters corresponding hole 21 (FIG. 6) and, ifit meets ball 19, it pushes it through hole 43 into channel 41 causing another ball 19 to be transferred from hole 44 into hole 22.

In the meanwhile, cam 119 (FIG. 5) of shaft 73 rocks lever 116 clockwise disengaging pawl 106 from wheel 102 in the manner already described. Lever 116 frees bent lug 258 of lever 253 which is now enabled to rock counterclockwise and, by means of arm 259, locks lever 116 in the clockwise position. This stops the feeding operation of program ribbon 27. At the end of the cycle, lever 75 disengages clutch 74 whereby shaft 73 is stopped.

When the zero key or the o'ne" key is newly depressed, clutch 74 is engaged for a second cycle, drum 203 (FIG. 3) is selectively positioned forward or rearward and shaft 197 (FIG. 7) is rotated by a second step. The leftward displacement of the pawl 106 (FIG. 5) does not, however, affect wheel 102. Teeth 232 and 233 (FIG. 2) performing the foregoing operation, meet now tooth 207 of respective cam 204, so that corresponding slide 239 is restored into the middle home position. At the same time, teeth 232 and 233 corresponding to second pair of sensing members 51 and 52 are selectively engaged by tooth 206 of second cam 204 and' position corresponding slide 239 rightwards or leftwards respectively. By means of cam 72 there is thus selectively set up a zero or a one" into second pair of holes 21 and 22. In a similar manner, all remaining pairs of holes 21 and 22 (FIG. 6) may be set up.

After ball 19 has been set up in the 18th pair of holes 21, 22, drum 203 (FIG. 2) has to perform a 19th step in order to be reset to its home position. This step may be accomplished pushing either the zero key or the one" key. When drum 203 accomplishes the 19th step, it resets last slide 239, so as to render sensing members 51 and 52 of 18th pair free for the reading operation. Cam 249 (FIG. 5), by the medium of pin 252, now rocks lever 253 clockwise resetting it into the posi tion of FIG. 3 and thus freeing arm 259 of lever 116 from bent lug 158. Lever 116 newly contacts cam 119 and restores the engagement of pawl 106 with wheel 102.

If the subsequent row of program ribbon 27 has to be set up also, lever 158 (FIG. 4) is left in its clockwise position and the operations are repeated in the identical manner as already shown for the described operations. If the setting operation is ended, lever 158 is rocked counterclockwise, rocking lever 152 (FIG. 3) counterclockwise and thus restoring case 38 into the position of FIG. 6. Furthermore lever 152, by means of link 149 (FIG. 5) and lever 146, reengages pin 256 with lever 253 and holds the latter disengaged from arm 259 even though cam 249 leaves pin 252. Slide 216 (FIG. 3) is rocked by bail 228 on the horizontal plane and disengages fork 213 from pin 212 of bail 211, bringing fork 222 into engagement with pin 223 of lever 224.

Lever 152 (FIG. 3) also resets bail 167 forwards disengaging gear 183 from gear 177 and reengaging the latter with gear 174. Finally, lever 152 frees link 80 from pin 262 and link 80 rocks clockwise disengaging notch 273 from pin 272 of, bail 271 and resetting shoulder 81 in correspondence with pin 83 of lever 84. The program is thus set up for reading.

While the invention has been described with relation to a specific embodiment, many variations therefrom are obvious to a person skilled in the art, and it is intended to cover the invention broadly within the spirit and scope of the appended claims.

We claim:

1. A settable program control device, for an accounting or similar machine, wherein the program is coded according to a binary code, each binary digit being represented by a ball selectively placed in one or the other of a pair of cells and having means for setting each said binary digit comprising:

a. an arcuate channel terminating with a pair of openings positionable opposite to said pair of cells for enabling the passage of a ball from a cell to said channel and vice versa; and,

b. a plurality of balls filling said channel whereby passage of a ball from one of said pair of cells into said channel forces a ball out of said channel into the other of said pair of cells.

2. A program control device according to claim 1, characterized in that there is a plurality of said pair of cells arranged in rows and columns, the balls contained by the cells of a row representing the information of a station of said program, said means for setting comprising a row of channels adapted to be simultaneously positioned opposite to the pairs of cells of a row.

3. A program control device according to claim 2, characterized in that said column of channels is provided in a slide, which normally closes said cells and is displaceable in order to put said cells into communication with said channels.

4. A program control device according to claim 3, characterized in that said channels are located in a single plane and all pairs of cells of a row are aligned in a single row parallel to said plane.

5. A program control device according to claim 2, characterized in that a predetermined number of said rows is provided in a bar, and a plurality of bars is interconnected by pivotal elements so as to build up a chain of parallel adjacent bars.

6. A program control device according to claim 5, characterized in that said bars are provided with teeth engaging a toothed wheel rotatable for displacing said ribbon.

7. A program control device according to claim 6, characterized in that said slide is displaceable in parallel relationship to said bars by a stroke which is half the step of said cells.

8. A program control device according to claim 5, characterized in that said chain is a flexible endless ribbon slidable perpendicularly to the alignment of said bars on a support that closes one side ofsaid cells.

9. A program control device according to claim 8, characterized in that said support is 8 shaped and is located inside said ribbon, said support being discontinuous so as to provide an opening containing said slide.

10. A program control device according to claim 8, characterized in that each of said cells is formed ofa cylindrical hole restricted on the side away from said support for preventing the exit of said balls.

11. A program control device according to claim 1, characterized by a pair of elements having complementary motion, which are conditionable for sensing a corresponding pair of cells in order to selectively set up said ball into a cell of said pair.

12. A program control device according to claim 11, wherein said elements are connected to a swing lever having a cyclically displaceable pivot, and a respective one of a plurality of control members is settable to a home position where it does not affect said elements, and settable to one or the other of two operation positions, each preventing the displacement of a respective one of said elements.

13. A program control device according to claim 12, characterized in that for each pair of cells in a row a pair of said elements and a corresponding one of said control members is provided.

14. A program control device according to claim 13, characterized in that said control members are rendered sequentially effective by means of a step-by-step rotatable drum having angularly shifted cams.

15. A program control device according to claim 14, characterized in that each angular position of said drum provides two different cams which are axially displaced and associated with two operative positions and further comprising positioning means for moving said drum to one or the other of two axial positions for rendering effective one or the other of said two cams.

16. A program control device according to claim 15, wherein said machine is an accounting machine and comprises a l0-key keyboard for setting up numerals characterized in that said drum is selectively set up in said one or the other axial position by means of a selection device controlled by said numeric keyboard.

17. A keyboard-settable ball memory comprising:

a. a cellular storage array in which cells for receiving balls are arranged in transverse rows and longitudinal columns;

b. means comprising at least one arcuate channel filled with balls and having two terminal openings in a single plane spaced to correspond with two adjacent ones of said cells in one of said transverse rows;

c. means to position said arcuate channel so that said terminal openings oppose two adjacent cells in one of said rows;

d. means to set or reset a binary digit in said two adjacent cells by forcing a ball from one of said two adjacent cells into said arcuate channel whereby one of said balls filling said channel is forced into the other of said two adjacent cells;

e. a keyboard for selectively operating said means to set or reset whereby a binary one or zero may be selectively set in any predetermined pair of adjacent cells.

18. A keyboard-settable ball memory according to claim 17 wherein each of said rows comprises a plurality of pairs of said cells and said at least one arcuate channel is a plurality of arcuate channels with one channel for each of said pairs in a single row.

19. A keyboard-settable ball memory according to claim 18 in which said means to set or reset comprises sensing members operative in a first mode to set or reset a binary digit and in a second mode to sense a binarydigit by the presence of one of said balls in one of said cells.

20. A keyboard-settable ball memory according to claim 19 wherein said plurality of arcuate channels are provided in a slide member positionable to place said terminal openings in alignment with the respective cells of one of said rows for said first mode and positionable in said second mode to block said respective cells of said one of said rows, whereby in said first mode balls can be transferred between said channels and said cells for setting binary digits and in said second mode the movement of said balls is blocked to permit sensing of the ball positions.

21. In an accounting or similar machine, comprising a 10- key keyboard and numerals setup means operable by said keyboard for setting up numerals to be processed by the machine, a settable program control device comprising:

. 9 a. a plurality of program elements, each one adapted to be by a ball selectively placed in one or the other of a pair of cells selectively set to one of a pair of positions; and having means for setting each said binary digit comprisb. program setup means operable for setting up each of said ing:

program elements to one of said positions; and a. an arcuate channel terminating with a pair of openings c. shifting means manually operable for shifting the positionable opposite to said pair of cells for enabling the cooperative relationship of said keyboard from said nu- Passage Ofa ball from a cell to Said channel and Vice merals setup means to said program setup means, and whereby said program control device is settable by seleca plurality of balls fim'lg said channel whereby P g of tively depressing a predetermined pair of keys of aid 10. a ball from one of said pair of cells into said channel key keyboard 10 forces a ball out of said channel into the other of said pair 22. A settable ball memory wherein the data are coded acof cellscording to a binary code, each binary digit being represented 

1. A settable program control device, for an accounting or similar machine, wherein the program is coded according to a binary code, each binary digit being represented by a ball selectively placed in one or the other of a pair of cells and having means for setting each said binary digit comprising: a. an arcuate channel terminating with a pair of openings positionable opposite to said pair of cells for enabling the passage of a ball from a cell to said channel and vice versa; and, b. a plurality of balls filling said channel whereby passage of a ball from one of said pair of cells into said channel forces a ball out of said channel into the other of said pair of cells.
 2. A program control device according to claim 1, characterized in that there is a plurality of said pair of cells arranged in rows and columns, the balls contained by the cells of a row representing the information of a station of said program, said means for setting comprising a row of channels adapted to be simultaneously positioned opposite to the pairs of cells of a row.
 3. A program control device according to claim 2, characterized in that said column of channels is provided in a slide, which normally closes said cells and is displaceable in order to put said cells into communication with said channels.
 4. A program control device according to claim 3, characterized in that said channels are located in a single plane and all pairs of cells of a row are aligned in a single row parallel to said plane.
 5. A program control device according to claim 2, characterized in that a predetermined number of said rows is provided in a bar, and a plurality of bars is interconnected by pivotal elements so as to build up a chain of parallel adjacent bars.
 6. A program control device according to claim 5, characterized in that said bars are provided with teeth engaging a toothed wheel rotatable for displacing said ribbon.
 7. A program control device according to claim 6, characterized in that said slide is displaceable in parallel relationship to said bars by a stroke which is half the step of said cells.
 8. A program control device according to claim 5, characterized in that said chain is a flexible endless ribbon slidable perpendicularly to the alignment of said bars on a support that closes one side of said cells.
 9. A program control device according to claim 8, characterized in that said support is 8 shaped and is located inside said ribbon, said support being discontinuous so as to provide an opening containing said slide.
 10. A program control device according to claim 8, characterized in that each of said cells is formed of a cylindrical hole restricted on the side away from said support for preventing the exit of said balls.
 11. A program control device according to claim 1, characterized by a pair of elements having complementary motion, which are conditionable for sensing a corresponding pair of cells in order to selectively set up said ball into a cell of said pair.
 12. A program control device according to claim 11, wherein said elements are connected to a swing lever having a cyclically displaceable pivot, and a respective one of a plurality of control members is settable to a home position where it does not affect said elements, and settable to one or the other of two operation positions, each preventing the displacement of a respective one of said elements.
 13. A program control device according to claim 12, characterized in that for each pair of cells in a row a pair of said elements and a corresponding one of said control members is provided.
 14. A program control device according to claim 13, characterized in that said control members are rendered sequentially effective by means of a step-by-step rotatable drum having angularly shifted cams.
 15. A program control device according to claim 14, characterized in that each angular position of said drum provides two different cams which are axially displaced and associated with two operative positions and further comprising positioning means for moving said drum to one or the other of two axial positions for rendering effective one or the other of said two cams.
 16. A program control device according to claim 15, wherein said machine is an accounting machine and comprises a 10-key keyboard for setting up numerals characterized in that said drum is selectively set up in said one or the other axial position by means of a selection device controlled by said numeric keyboard.
 17. A keyboard-settable ball memory comprising: a. a cellular storage array in which cells for receiving balls are arranged in transverse rows and longitudinal columns; b. means comprising at least one arcuate channel filled with balls and having two terminal openings in a single plane spaced to correspond with two adjacent ones of said cells in one of said transverse rows; c. means to position said arcuate channel so that said terminal openings oppose two adjacent cells in one of said rows; d. means to set or reset a binary Digit in said two adjacent cells by forcing a ball from one of said two adjacent cells into said arcuate channel whereby one of said balls filling said channel is forced into the other of said two adjacent cells; e. a keyboard for selectively operating said means to set or reset whereby a binary ''''one'''' or ''''zero'''' may be selectively set in any predetermined pair of adjacent cells.
 18. A keyboard-settable ball memory according to claim 17 wherein each of said rows comprises a plurality of pairs of said cells and said at least one arcuate channel is a plurality of arcuate channels with one channel for each of said pairs in a single row.
 19. A keyboard-settable ball memory according to claim 18 in which said means to set or reset comprises sensing members operative in a first mode to set or reset a binary digit and in a second mode to sense a binary digit by the presence of one of said balls in one of said cells.
 20. A keyboard-settable ball memory according to claim 19 wherein said plurality of arcuate channels are provided in a slide member positionable to place said terminal openings in alignment with the respective cells of one of said rows for said first mode and positionable in said second mode to block said respective cells of said one of said rows, whereby in said first mode balls can be transferred between said channels and said cells for setting binary digits and in said second mode the movement of said balls is blocked to permit sensing of the ball positions.
 21. In an accounting or similar machine, comprising a 10-key keyboard and numerals setup means operable by said keyboard for setting up numerals to be processed by the machine, a settable program control device comprising: a. a plurality of program elements, each one adapted to be selectively set to one of a pair of positions; b. program setup means operable for setting up each of said program elements to one of said positions; and c. shifting means manually operable for shifting the cooperative relationship of said keyboard from said numerals setup means to said program setup means, whereby said program control device is settable by selectively depressing a predetermined pair of keys of said 10-key keyboard.
 22. A settable ball memory wherein the data are coded according to a binary code, each binary digit being represented by a ball selectively placed in one or the other of a pair of cells and having means for setting each said binary digit comprising: a. an arcuate channel terminating with a pair of openings positionable opposite to said pair of cells for enabling the passage of a ball from a cell to said channel and vice versa; and b. a plurality of balls filling said channel whereby passage of a ball from one of said pair of cells into said channel forces a ball out of said channel into the other of said pair of cells. 